/*
 * NodesRepositoryTester.cuh
 *
 *  Created on: Nov 20, 2013
 *      Author: jaime
 */

#ifndef NODESREPOSITORYTESTER_CUH_
#define NODESREPOSITORYTESTER_CUH_

#define NUMBER_OF_TESTS_TO_STRESS 500

#include "../Tester.cuh"
#include "../../Utils/NodesRepository.cuh"
#include "../../Utils/GPULinkedList.cuh"
#include "../../BCPStrategy/WatchedClausesList.cuh"

class NodesRepositoryTester : public Tester{
private:
	__device__ bool stress_test();
	NodesRepository<GPULinkedList<WatchedClause*>::Node> * repository;
	__device__ bool is_pointer_valid(GPULinkedList<WatchedClause*>::Node * pointer);

public:
	__device__ NodesRepositoryTester(DataToDevice data);
	__device__ void test_all();
};

#endif /* NODESREPOSITORYTESTER_CUH_ */
